Appearance

JSON Schema

Pcjmy2023-01-25JavaScriptJavaScript

JSON Schema

JSON Schema简介

JSON Schemaopen in new window 是一个词汇表,可以用来注释和验证 JSON 文档。

JSON Schema定义和校验

Ajv JSON schema 校验器

Ajv(Another JSON Schema Validator)是一个用于 JSON Schema 验证的 JavaScript 库。它允许你定义 JSON 数据的结构和约束,并验证数据是否符合这些规范。Ajv 的目标是提供一个高性能、标准兼容且易于使用的 JSON Schema 验证器。

基础数据校验

Ajv 获取 JSON 数据的 schema,并将其转换为非常高效的 JavaScript 代码,根据 schema 验证数据。

TIP

Ajv 将 schema 编译为函数并在所有情况下缓存它们(使用 schema 本身作为 Map 中的键),以便下次使用相同的 schema 对象时不会再次编译。

const Ajv = require('ajv')

const schema = {
  type: 'string',
  minLength: 10,
}

const ajv = new Ajv()
const validate = ajv.compile(schema)
const valid = validate('hello')

if (!valid) {
  console.log(validate.errors)
}
# 运行结果
[
  {
    keyword: 'minLength',
    dataPath: '',
    schemaPath: '#/minLength',
    params: { limit: 10 },
    message: 'should NOT be shorter than 10 characters'
  }
]
Last Updated 2024-03-09 15:46:06